iT邦幫忙

2023 iThome 鐵人賽

DAY 1
1

在因緣際會下知道了Flask,所以把學的過程記錄下來,今天就先簡單介紹一下甚麼是Flask。

Flask 是一個使用 Python 語言開發的輕量級 Web 應用框架。近年來因為Python簡單易學的語法以及強大的生態系統,所以在Web開發領域也逐漸受到青睞。其中Flask的哲學是保持核心簡單但擴充性強,它只提供了路由、模板、靜態檔案等最基本的功能,其他大多數功能則是通過擴展提供,這樣可以讓我們按需求選擇。
Flask強調概念明確、低耦合度和可擴充性。和Django等全能框架不同,Flask提供更多自由度給開發者。這也是我選擇學習 Flask 的主要原因。

下面我整理了幾個Flask的特徵。

  • 微框架
    • Flask提供了網頁應用程式開發的核心功能,包括路由、模板和處理請求等,而其他功能如資料庫整合則需要額外的擴展。這使得Flask很容易上手,也可以根據需要自定義擴展。
    • 使用路由機制來實現URL到Python函數的映射,例如:
@app.route('/')
def index():
    return 'Hello World'
#這樣就可以將根路徑 '/' 對應到 index() 函數。
  • 基於Werkzeug(WSGI工具箱)

    • Web Servert Gateaway Interface(Web伺服器閘道器介面)已被用作Python Web應用開發的標準。WSGI是Web伺服器和Web應用程式之間通用街口的規範。
    • Flask建立在Werkzeug WSGI工具箱之上,這使得它可以處理HTTP請求和響應。Werkzeug提供了諸如參數解析、請求對象、響應對象等功能。
  • 基於Jinja2

    • Flask使用Jinja2作為其模板引擎。Jinja2使得可以方便地將模型數據渲染到HTML模板中,原本我不知道Jinja是甚麼,但在實際操作過後發現真的蠻方便的。
    • 可以看看這兩篇喔jinja2基礎用法,Jinja2 pipe
  • 可擴展的

  • 總結

    • Python Flask是一個非常適合用戶建立小型或中型網頁應用的框架,它容易上手但又可擴展靈活。如果要開發API或網頁應用,Flask絕對是一個不錯的選擇。像是知名網站pinterest也是用Flask製作的。

在未來30天我會先從簡單的語法或是一些常用方便的實作開始介紹,希望可以在實作中學習Flask。/images/emoticon/emoticon07.gif


下一篇
[Day 2] Flask的簡單開發環境設定
系列文
從開始到放棄的Flask30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言